package com.leyou.common.exception.controller;

import com.leyou.common.exception.pojo.ExceptionResult;
import com.leyou.common.exception.pojo.LyException;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * 全局自定义异常拦截器（处理器）
 */
@ControllerAdvice  // 就会覆盖SpringMVC自带异常处理
public class LyExceptionController {

    /**
     * 定义异常处理定义
     */
    @ExceptionHandler(value = LyException.class) // 定义需要捕获什么异常
    public ResponseEntity<ExceptionResult> handlerException(LyException e) {
        return ResponseEntity.status(e.getStatus()).body(new ExceptionResult(e));
    }
}
